package cn.tedu.charging.user.controller;

import cn.tedu.charging.common.pojo.JsonResult;
import cn.tedu.charging.common.pojo.vo.CarInfoVO;
import cn.tedu.charging.common.pojo.vo.UserInfoVO;
import cn.tedu.charging.user.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Api(tags = "用户接口")
@Slf4j
@RestController
@RequestMapping("user")
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 获取用户信息 车辆信息
     * @return
     */

    @ApiOperation("获取用户信息")
    @GetMapping("/info/{userId}")
    public JsonResult<UserInfoVO> getUserInfo(@PathVariable("userId")Integer userId){
        log.debug("获取用户信息:{}",userId);
        UserInfoVO userInfoVO = userService.getUserInfo(userId);
        JsonResult<UserInfoVO> result = JsonResult.ok(userInfoVO, "获取用户信息成功");
        log.debug("获取用户信息:入参:{},结果:{}",userId,result);
        return result;
    }

    @ApiOperation("获取车辆信息")
    @GetMapping("/carInfo/{carId}")
    public JsonResult<CarInfoVO> getCarInfo(@PathVariable("carId")Integer carId){
        log.debug("获取车辆信息:{}",carId);
        CarInfoVO carInfoVO = userService.getCarInfo(carId);
        JsonResult<CarInfoVO> result = JsonResult.ok(carInfoVO, "获取车辆信息成功");
        log.debug("获取车辆信息:入参:{},结果:{}",carId,result);
        return result;
    }

}
